﻿using Shop.Model.ActivityGoods;
using Shop.Model.DB;
using Shop.RemoteModel.ActivityGoods.Model;

namespace Shop.Collect
{
    public interface IActivityGoodsCollect
    {
        void Delete (long[] ids);
        void Delete (DBShopActivityGoods obj);
        DBShopActivityGoods Get (long id);
        Result[] GetsByActivityId<Result> (long activityId) where Result : class, new();
        bool SetPrice (DBShopActivityGoods obj, decimal price, bool isMust);
        DBShopActivityGoods[] Sync (long activityId, ActivityGoods[] goods);
        bool CheckIsExists (long activityId);
        GoodsPitchInActivity[] GetPitchInActivity (DateTime begin, DateTime end, long[] skuId);
        void SetPrice (Dictionary<long, decimal> price);
        long[] GetSkuIds (long activityId);
        void Clear (long activityId);
    }
}